#include "Node.h"
#include <iostream>


void Node::setWeight(int weight) {
	this->weight = weight;
}

int Node::getWeight() const {
	return weight;
}

//void Node::setOrder(int order) {
//	this->order = order;
//}

//int Node::getOrder() const {
//	return order;
//}

void Node::setParent(Node* parent) {
	this -> parent = parent;
}

Node* Node::getParent() const {
	return parent;
}

//void Node::setRigthSibling(Node* node) {
//	this -> rigthSibling = node;
//}
//
//
//Node* Node::getLeftSibling() const {
//	return leftSibling;
//}
//
//void Node::setLeftSibling(Node* node) {
//	this -> leftSibling = node;	
//}
//
//Node* Node::getRigthSibling() const {
//	return rigthSibling;
//}


void Node::incrementWeight(){
	weight++;
	return;
}


//void Node::swapWithSibling(Node* siblingNode){
//	int tmpWeight = getWeight();
//	int tmpOrder = getOrder();
//	Node* tmpLeftSibling  = getLeftSibling();
//	Node* tmpRigthSibling = getRigthSibling();	
//}


//void Node::swapData(Node* otherNode){
//	int tmpWeight = getWeight();
//	int tmpOrder = getOrder();
//	Node* tmpLeftSibling  = getLeftSibling();
//	Node* tmpRigthSibling = getRigthSibling();	
//
//	if ( otherNode->getRigthSibling() )
//		otherNode->getRigthSibling()->setLeftSibling(this);
//
//	if ( otherNode->getLeftSibling() )
//		otherNode->getLeftSibling()->setRigthSibling(this);
//
//	if ( tmpLeftSibling->getRigthSibling() )
//		tmpLeftSibling->getRigthSibling()->setLeftSibling(otherNode);
//
//	if ( tmpRigthSibling->getLeftSibling() )
//		tmpRigthSibling->getLeftSibling()->setRigthSibling(otherNode);
//
//	setWeight(otherNode->getWeight());
//	setOrder(otherNode->getOrder());
//	setLeftSibling(otherNode->getLeftSibling());
//	setRigthSibling(otherNode->getRigthSibling());
//
//	otherNode->setWeight(tmpWeight);
//	otherNode->setOrder(tmpOrder);
//	otherNode->setLeftSibling(tmpLeftSibling);
//	otherNode->setRigthSibling(tmpRigthSibling);
//
//	return;
//}

void Node::setSymbol(int node) {
	this->symbol = symbol;
}

int Node::getSymbol() {
	return symbol;
}